# ===== 配置 =====
PROTOC = protoc
PROTO_DIR = .
REQ_DIR = ../request
RESP_DIR = ../response

# ===== 文件收集 =====
PROTO_FILES := $(wildcard $(PROTO_DIR)/*.proto)

REQ_PROTOS  := $(filter %_request.proto, $(PROTO_FILES))
RESP_PROTOS := $(filter %_response.proto base_%.proto, $(PROTO_FILES))

# ===== 默认目标 =====
all: prepare gen

# 确保 request/ 和 response/ 目录存在
prepare:
	mkdir -p $(REQ_DIR) $(RESP_DIR)

# 编译 proto 文件生成 .pb.cc/.pb.h
gen:
	@if [ -n "$(REQ_PROTOS)" ]; then \
		$(PROTOC) -I=$(PROTO_DIR) --cpp_out=$(REQ_DIR) $(REQ_PROTOS); \
	fi
	@if [ -n "$(RESP_PROTOS)" ]; then \
		$(PROTOC) -I=$(PROTO_DIR) --cpp_out=$(RESP_DIR) $(RESP_PROTOS); \
	fi

# 清理
clean:
	rm -f $(REQ_DIR)/*.pb.* $(RESP_DIR)/*.pb.*



# ptorc -cpp_out=. 文件路径(protoc)
